package com.hcms.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hcms.admin.dto.SysMenuOptionResponse;
import com.hcms.admin.dto.SysMenuRouteResponse;
import com.hcms.admin.dto.SysMenuTreeResponse;
import com.hcms.mybatis.entity.SysMenu;

import java.util.List;

/**
 * <p>
 * 后台菜单表 服务类
 * </p>
 *
 * @author achenxw@126.com
 * @since 2023-02-14
 */
public interface ISysMenuService extends IService<SysMenu> {

    /**
     * 获取列表
     *
     * @return
     */
    List<SysMenu> getList();

    /**
     * 获取列表Tree
     *
     * @return
     */
    List<SysMenuTreeResponse> getTreeList();

    /**
     * 获取详细数据
     *
     * @param id
     * @return
     */
    SysMenu getView(Long id);

    /**
     * 获取Tree数据
     *
     * @return
     */
    List<SysMenuOptionResponse> getOptions();

    /**
     * 获取路由
     *
     * @return
     */
    List<SysMenuRouteResponse> getRoutes();

    /**
     * 添加记录
     *
     * @param entity
     * @return
     */
    int createItem(SysMenu entity);

    /**
     * 更新记录
     *
     * @param id
     * @param entity
     * @return
     */
    int updateItem(Long id, SysMenu entity);


    /**
     * 删除记录
     *
     * @param ids
     * @return
     */
    int deleteItem(String ids);

}
